Method and apparatus for generating navigation guidance for an incomplete map

ABSTRACT

An approach is provided for generating navigation guidance for incomplete maps. The approach, for example, involves calculating, by a processor, a confidence level of one or more links of the navigation route based on a completeness of map data in an area including the navigation route. The approach also involves determining a specificity level of a navigation guidance command based on the confidence level. The approach further involves generating the navigation guidance command at the determined specificity level. The approach further involves presenting the navigation guidance command in a user interface of a navigation device.

RELATED APPLICATION

This application is a continuation of and claims priority from U.S.patent application Ser. No. 15/981,527, entitled “METHOD AND APPARATUSFOR GENERATING NAVIGATION GUIDANCE FOR AN INCOMPLETE MAP,” filed on May16, 2018, the contents of which are hereby incorporated herein in theirentirety by this reference.

BACKGROUND

Navigation and mapping services have greatly increased in popularity asdrivers and other users become more reliant on them for routing guidanceas they travel. Providing such navigation routing services is acontinual challenge for service providers because they generally rely onhaving complete map data to provide accurate guidance commands. However,because of the vast geographic areas and structures (e.g., indoorparking structures) that must be mapped and the need to continuallyupdate the corresponding map data to account for changes or additions tothe road network or related structures, acquiring complete and/orup-to-date map data may not always be possible. Accordingly, serviceproviders face significant technical challenges to provide navigationguidance instructions when users (e.g., drivers, pedestrians, etc.) aretraveling in areas or structures with incomplete, out-of-date, and/or nomap data.

SOME EXAMPLE EMBODIMENTS

Therefore, there is a need for an approach for generating navigationguidance commands for areas or structures with incomplete maps.

According to one embodiment, a method comprises calculating a confidencelevel of one or more links of the navigation route based on acompleteness of map data in an area (e.g., an indoor parking structure)including the navigation route. The method also comprises determining aspecificity level of a navigation guidance command based on theconfidence level. The method further comprises generating the navigationguidance command at the determined specificity level. The method furthercomprises presenting the navigation guidance command in a user interfaceof a navigation device.

According to another embodiment, an apparatus comprises at least oneprocessor, and at least one memory including computer program code forone or more computer programs, the at least one memory and the computerprogram code configured to, with the at least one processor, cause, atleast in part, the apparatus to calculate a confidence level of one ormore links of the navigation route based on a completeness of map datain an area (e.g., an indoor parking structure) including the navigationroute. The apparatus is also caused to determine a specificity level ofa navigation guidance command based on the confidence level. Theapparatus is further caused to generate the navigation guidance commandat the determined specificity level. The apparatus is further caused topresent the navigation guidance command in a user interface of anavigation device.

According to another embodiment, a computer-readable storage mediumcarries one or more sequences of one or more instructions which, whenexecuted by one or more processors, cause, at least in part, anapparatus to calculate a confidence level of one or more links of thenavigation route based on a completeness of map data in an area (e.g.,an indoor parking structure) including the navigation route. Theapparatus is also caused to determine a specificity level of anavigation guidance command based on the confidence level. The apparatusis further caused to generate the navigation guidance command at thedetermined specificity level. The apparatus is further caused to presentthe navigation guidance command in a user interface of a navigationdevice.

According to another embodiment, an apparatus comprises means forcalculating a confidence level of one or more links of the navigationroute based on a completeness of map data in an area (e.g., an indoorparking structure) including the navigation route. The apparatus alsocomprises means for determining a specificity level of a navigationguidance command based on the confidence level. The apparatus furthercomprises means for generating the navigation guidance command at thedetermined specificity level. The apparatus further comprises means forpresenting the navigation guidance command in a user interface of anavigation device.

In addition, for various example embodiments of the invention, thefollowing is applicable: a method comprising facilitating a processingof and/or processing (1) data and/or (2) information and/or (3) at leastone signal, the (1) data and/or (2) information and/or (3) at least onesignal based, at least in part, on (or derived at least in part from)any one or any combination of methods (or processes) disclosed in thisapplication as relevant to any embodiment of the invention.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising facilitating access to at least oneinterface configured to allow access to at least one service, the atleast one service configured to perform any one or any combination ofnetwork or service provider methods (or processes) disclosed in thisapplication.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising facilitating creating and/orfacilitating modifying (1) at least one device user interface elementand/or (2) at least one device user interface functionality, the (1) atleast one device user interface element and/or (2) at least one deviceuser interface functionality based, at least in part, on data and/orinformation resulting from one or any combination of methods orprocesses disclosed in this application as relevant to any embodiment ofthe invention, and/or at least one signal resulting from one or anycombination of methods (or processes) disclosed in this application asrelevant to any embodiment of the invention.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising creating and/or modifying (1) at leastone device user interface element and/or (2) at least one device userinterface functionality, the (1) at least one device user interfaceelement and/or (2) at least one device user interface functionalitybased at least in part on data and/or information resulting from one orany combination of methods (or processes) disclosed in this applicationas relevant to any embodiment of the invention, and/or at least onesignal resulting from one or any combination of methods (or processes)disclosed in this application as relevant to any embodiment of theinvention.

In various example embodiments, the methods (or processes) can beaccomplished on the service provider side or on the mobile device sideor in any shared way between service provider and mobile device withactions being performed on both sides.

For various example embodiments, the following is applicable: Anapparatus comprising means for performing any of the methods.

Still other aspects, features, and advantages of the invention arereadily apparent from the following detailed description, simply byillustrating a number of particular embodiments and implementations,including the best mode contemplated for carrying out the invention. Theinvention is also capable of other and different embodiments, and itsseveral details can be modified in various obvious respects, all withoutdeparting from the spirit and scope of the invention. Accordingly, thedrawings and description are to be regarded as illustrative in nature,and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the invention are illustrated by way of example, andnot by way of limitation, in the figures of the accompanying drawings:

FIG. 1 is a diagram of a system capable of providing navigation guidancefor incomplete maps, according to one embodiment;

FIG. 2 is a diagram of an example parking structure with incomplete mapdata, according to one embodiment;

FIG. 3 is a diagram of the components of the mapping platform, accordingto one embodiment;

FIG. 4 is a flowchart of a process for providing navigation guidance forincomplete maps, according to one embodiment;

FIGS. 5A and 5B are diagrams of illustrating an area with incomplete mapdata, according to one embodiment;

FIGS. 6A-6C are diagrams illustrating an example of providing navigationguidance for an open-ended parking search route (i.e., an infinityroute) through an area with incomplete map data, according to oneembodiment;

FIG. 7 is a diagram illustrating an example of providing navigationguidance to exit an area with incomplete map data, according to oneembodiment;

FIG. 8 is flowchart of a process of routing in an area with incompletemap data, according to one embodiment;

FIG. 9 is a diagram of a geographic database, according to oneembodiment;

FIG. 10 is a diagram of hardware that can be used to implement anembodiment;

FIG. 11 is a diagram of a chip set that can be used to implement anembodiment; and

FIG. 12 is a diagram of a mobile terminal that can be used to implementan embodiment.

DESCRIPTION OF SOME EMBODIMENTS

Examples of a method, apparatus, and computer program for providingnavigation guidance for incomplete maps are disclosed. In the followingdescription, for the purposes of explanation, numerous specific detailsare set forth in order to provide a thorough understanding of theembodiments of the invention. It is apparent, however, to one skilled inthe art that the embodiments of the invention may be practiced withoutthese specific details or with an equivalent arrangement. In otherinstances, well-known structures and devices are shown in block diagramform in order to avoid unnecessarily obscuring the embodiments of theinvention.

FIG. 1 is a diagram of a system 100 capable of providing navigationguidance for incomplete maps, according to one embodiment. Map serviceproviders (e.g., providers operating a map platform 101 as shown inFIG. 1) historically maintain a geographic database 103 for storingdigital map data to represent one or more geographic areas for use inproviding various location-based services. For example, serviceproviders can map the roads, paths, etc. located in areas of interest(e.g., for both outdoor and indoor areas) as well as their attributes(e.g., functional class, bi-directionality, supported vehicles, numberof lanes, etc.) to support navigation routing services. However,acquiring this mapping data can be resource intensive because the areasof interest that are to be mapped can span cities, regions, countries,or even a global scale.

Under one traditional approach, map service providers have useddedicated fleets of mapping vehicles equipped with sensors (e.g.,location sensors such as GPS sensors, LiDAR, etc.) to drive along roadsand paths to collect map data to populate the geographic database 103.This approach, however, is very resource intensive and provides for slowupdates because the road networked must be driven by the mappingvehicles to first create the map and then driven again each time toupdate the map. As a result, mapping data can be incomplete for manyareas, particularly areas that are difficult to reach by the mappingvehicles such areas that are not traditional roads (e.g., parking lots,parking structures, indoor areas, etc.), but which still supportvehicular or pedestrian traffic. Other traditional map data collectionprocesses such as crowd-sourced data collection can increase availablemap data. However, these crowd-sourced methods generally are notstandardized and thus may still be incomplete because the resulting mapdata may not contain all attributes or details about a map area topopulate the geographic database 103. As a result, there can be manygeographic areas or structures (e.g., particularly indoor areas, parkingstructures, etc.) that may have incomplete map data.

When encountering areas with incomplete or no map data, traditionalnavigation routing services may provide no instructions or potentiallyerroneous or poor instructions (e.g., instructing the driver to turn thewrong onto a one-way street, turn where no road exists, miss potentialnew unmapped shortcuts, etc.). Accordingly, service providers facesignificant technical challenges to providing at least some levelnavigation guidance in areas with “incomplete” maps (e.g., maps that mayindicate some geometry but may not have may not contain all attributesor details for an area).

FIG. 2 illustrates of an example area (e.g., a parking structure 201)with incomplete map data, according to one embodiment. In this example,the parking structure 201 is a multi-level indoor parking facility(e.g., containing levels 1-4) that is mapped using probe datacrowd-sourced from vehicles 203 a-203 d traveling in the parkingstructure 201. Because the probe data is crowd-sourced, the probe dataprovides coverage for only portions of the parking structure 201 andthus, the map data is incomplete. For example, the isolated view 205 oflevel 1 of the parking structure 201 illustrates a bounding box 207 thatis used to select the probe data that corresponds to level 1. In thiscase, the probe data on level 1 includes a probe trajectory or drivepath 209 (e.g., collected from vehicle 203 c) that has no direction oftravel information, and a directional drive path 211 (e.g., collectedfrom vehicle 203 d) that indicates a direction of travel. In oneembodiment, the map platform 101 can use the drive paths to infer that aroad or path exists along the path, and then the direction of travel toindicate a bi-directionality or uni-directionality of the determinedroad. In this case, the drive path 209 can be used to map roads butcannot be used to determine a bi-directionality attribute. Thus, theresulting map data would be incomplete. In contrast, the drive path 211has directionality and can be used to determine more complete map dataincluding both the road location and its bi-directionality attribute. Inaddition, because the probe data on level 1 is sparse and does not coverthe entire level, the resulting map data would also be incomplete withrespect to identifying roads or paths in areas of the parking structure201 not covered by the probe data. Under traditional approaches, the mapplatform 101 would not be able to generate navigation guidance commandsbased on the incomplete map data.

To address these technical problems, the system 100 of FIG. 1 introducesa capability to allow users (e.g., drivers of vehicles 105,drivers/pedestrians via mobile devices such as user equipment (UE) 107,etc.) to be guided in areas (e.g., a routing area 109) which containsome geometry but are likely incomplete with respect to map data storedin the geographic database 103 (e.g., large parking structures 201) bycomputing and using a road link probability index (e.g., a confidencelevel indicating the completeness and/or accuracy of road link and/orany of its attributes) that would be used for map rendering, routing,and/or guidance. By way of example, incompleteness of map data can bedetermined based on areas that the system 100 (e.g., the map platform101) does not know that it does not know. Such areas, for instance, canbe determined based on the map platform 101 identifying areas for whichno probe data or other map data have been reported or previouslygenerated.

In addition or alternatively, incompleteness of map data can also bebased on areas that the system 100 knows that it does not know. Forexample, if the map data indicates the presence of a building with fivefloors, but the geographic database 103 has map data or probe data foronly four of the five known floors, the system 100 can infer that themap data is incomplete or missing for at least one floor. Areas that thesystem 100 knows that it does not know can also be identified byquerying for areas where probe data is sparse (e.g., where probe datasamples have been collected from fewer than a minimum number of vehicles105 and or UEs 107).

In one embodiment, when the system 100 receives a request for navigationguidance for a route that falls in a routing area 109 with incompletemap data (e.g., a request to navigate in the large parking structure201), the system 100 can retrieve or otherwise acquire existing sensordata (e.g. probe data) from multiple vehicles 105 and/or UEs 107 thathave traveled in the routing area 109 (e.g., retrieved from thegeographic database 103), and determines the paths driven or traveledinside the routing area 109. In one embodiment, the system 100 thencomputes a link probability index or a confidence level for a road linkor path that is on computed route through the routing area 109. Theconfidence level indicates, for instance, a computed certainty level foran attribute of the link (e.g., the link's existence, bi-directionality,etc.). Based on the confidence level or probability index, guidance androuting are provided to the user.

In one embodiment, the system 100 can then generate variable routeguidance commands based on the computed confidence level or probabilityindex. The system 100 can vary the specificity of the guidance commandbased on the confidence level of the links to which the command applies.This variability minimizes the potential for the system 100 to provideincorrect or poor guidance commands by matching the level of detail(e.g., specificity level) of the wording in the command or other form ofrepresentation (e.g., visual representation) of the command with theconfidence level of the road links associated with the command. Forexample, if a link has a low computed confidence level of existing(e.g., because the system 100 has less than a threshold number of probedata samples to confirm the link), the system can provide a lessspecific guidance command such as “head East at the first opportunity”or “head towards landmark A visible to the East”. In contrast, if thereis high confidence in the existence of the link (e.g., confirmed byprobe data from more than a threshold number or probe data samples), thesystem 100 can issue a traditional highly specific command such as “turnright on Road A in 200 meters”. In this way, the system 100advantageously provides at least some guidance commands while minimizingpotential errors by being too specific with the command in areas wherethe users are usually left on their own (e.g., provided no guidancecommand from traditional mapping systems).

FIG. 3 is a diagram of the components of a map platform 101, accordingto one embodiment. By way of example, the map platform 101 includes oneor more components for generating guidance commands for incomplete mapsaccording to the various embodiments described herein. It iscontemplated that the functions of these components may be combined orperformed by other components of equivalent functionality. In thisembodiment, the map platform 101 includes a routing module 301,confidence module 303, command generator 305, output module 307, and mapupdate module 309. The above presented modules and components of the mapplatform 101 can be implemented in hardware, firmware, software, or acombination thereof. In one embodiment, the map application 111 of theUE 107, services platform 115, and/or any of the services 117 a-117 n(also collectively referred to as services 117) of the services platform115 can perform the functions of the map platform 101 alone or incombination with the map platform 101 (e.g., through connectivity to themap platform 101 over the communication network 113). In one embodiment,one or more of the modules 301-307 may be implemented as a cloud-basedservice, local service, native application, or combination thereof. Thefunctions of the map platform 101 and the modules 301-307 are discussedwith respect to FIGS. 4-8 below.

FIG. 4 is a flowchart of a process for providing navigation guidance forincomplete maps, according to one embodiment. In various embodiments,the map platform 101 and/or any of the modules 301-309 of the mapplatform 101 as shown in FIG. 3 may perform one or more portions of theprocess 400 and may be implemented in, for instance, a chip setincluding a processor and a memory as shown in FIG. 11. As such, the mapplatform 101 and/or any of the modules 301-309 can provide means foraccomplishing various parts of the process 400, as well as means foraccomplishing embodiments of other processes described herein inconjunction with other components of the system 100. Although theprocess 400 is illustrated and described as a sequence of steps, itscontemplated that various embodiments of the process 400 may beperformed in any order or combination and need not include all of theillustrated steps.

In step 401, the confidence module 303 calculates a confidence level ofone or more links of the navigation route based on a completeness of mapdata in an area (e.g., routing area 109) including the navigation route.In one embodiment, the confidence module 303 calculates the confidencelevel for an attribute of the one or more links of the navigation route.The attribute includes, for instance, an existence of a link on thenavigation route, a bi-directionality of the link, and/or any otherattribute of the link. The confidence level indicates a certainty oflink, the link's attribute, corresponding map data, and/or the like, andcan be based on the extent that collected probe data indicates theprobability that the link or its attribute value reflects a ground truthcondition. For example, the confidence or certainty of a link can dependon the number of probe samples that confirm the link or its attributevalue such that the confidence level increases monotonically with thenumber of confirming samples. The confidence level can also becalculated as an aggregate of multiple attributes or individually foreach attribute of the link. In one embodiment, the completeness orincompleteness of the map data can also be a parameter for determiningthe confidence level and can be based determining that probe data is notavailable for the area or that the probe data is available for only asubset of the one or more links in the area. In yet another embodiment,the confidence level can also depend on detecting some types ofmaneuvers indicated in the probe data. For example, maneuvers such asbut not limited to diving backwards, making U-turns, circling in anarea, etc. may indicate that the map data for corresponding road linkscan be problematic. Accordingly, the confidence module 303 can compute alower confidence when there is a concentration of such maneuvers on aroad link of interest.

Although various embodiments are discussed with respect to providingvariable navigation guidance commands for incomplete maps of indoorparking structures with driving as the mode of transportation, it iscontemplated that the embodiments described herein are applicable to anytype of routing area 109 with incomplete map data including outdoor andindoor areas using any mode of transportation (e.g., walking, bicycling,public transport, etc.). For example, the navigation route of interestcan traverse areas such as a facility with incomplete map data includingbut not limited to a parking facility, an indoor facility, an open space(e.g., unmapped parks or other terrain), or a combination thereof. Inaddition, the completeness of map data can also be specific to the modeof transport. For example, a level of completeness for one transportmode (e.g., a car) does not mean the same level of completeness foranother mode (e.g., pedestrian, public transport, etc.). As a result, inone embodiment, the confidence levels for a given path, facility, etc.can be computed independently for each mode of transport to generatednavigation commands at different specificity levels based on the mode.In one use case, the routing area 109 can be a parking structure 201including a plurality of parking spots connected by one or more links,and wherein the map data for the parking structure is incomplete withrespect to mapping of the plurality of parking spots and of the one ormore links. However, it is contemplated that the embodiments are alsoapplicable to any area with incomplete maps (e.g., in countries withpoor map coverage, parks, non-road areas, inside buildings, etc.).

In step 403, the command generator 305 determines a specificity level ofa navigation guidance command based on the confidence level. In oneembodiment, the specificity level for the navigation guidance commandincreases with the confidence level for the attribute of the one or morelinks of the navigation route. The command generator 305 can employ anynumber of specificity levels that vary the level of details provided ina navigation guidance command and/or the representation of the guidancecommand (e.g., a visual representation, audio representation, spokenword representation, etc.). For example, a first level of thespecificity level can be a directional heading specificity that resultsin generating the navigation guidance command to indicate only a generaldirectional heading to travel towards to reach a destination, waypoint,landmark, etc. of the navigation route. A second level of thespecificity level can be a turn specificity that results in generatingthe navigation guidance command to indicate that a driver should take anext available turn to reach the destination, waypoint, landmark, etc.without identifying a specific link on which to make a next maneuver. Athird level of the specificity level can be a standard or traditionalspecificity that results in generating the navigation guidance commandto indicate the specific link on which to make the next maneuver.

In step 405, the command generator 305 generates the navigation guidancecommand at the determined specificity level. In other words, the commandgenerator 305 can select the wording, detail, etc. to represent anavigation guidance command at the specificity level corresponding tothe confidence level of the route and/or the links of the route to whichthe navigation command applies. In one embodiment, the command generator305 can further tailor the guidance command based on the particularattribute of the link or route used for determining the confidence leveland ultimately the specificity level for the command. In this way, thegenerated navigation guidance command can reflect the certainty of alink attribute. Table 1 below illustrates example navigation guidancecommands generated at different levels of specificity based on a pathdirectionality attribute, and Table 2 below illustrates examplenavigation guidance commands generated at different levels ofspecificity based on an attribute indicating whether the link exists.

TABLE 1 Confidence Level/Probability Index based on Path DirectionalityAttribute Example of Command Ex: 100% sure that a path is a “In 20 mturn right” one-way street (e.g., 20 of 20 probe vehicles drove one wayon the path) Ex: 60% sure that a path is one- “At the next possibility,turn right” way street (e.g., 20 of 22 probe (as there is also anotherknown possible vehicles drove one way, and 2 of right turn after that)or “At the next 22 probe vehicles drove the intersection, turn right ifpossible” opposite way on the path; it is noted that the calculatedconfi- dence or probability need not be necessarily linear with respectto the probe observations, and the map platform 101 can use any functionor correlation to compute a confidence from probe observations) Ex: 0%confidence (e.g., no “Drive toward your right when probe data availablefor possible” the path)

TABLE 2 Confidence Level/Probability Index based on Path DirectionalityAttribute Example of Command Ex: 100% sure that a path is “In 20 m turnright” exists (e.g., 20 of 20 probe vehicles drove the path) Ex: 60%sure that a path “At the next possibility, turn right” exists (e.g.,only 2 probe (as there is also another known possible vehicle samplesindicate a right turn after that) or “At the next possible path here)intersection, turn right if possible” Ex: 0% confidence (e.g., “Drivetoward your right when no probe data available possible” for the path)

As shown in Table 1 above, when the confidence level of the pathdirectionality attribute is high (e.g., 100% sure), the commandgenerator 305 generates a navigation guidance command (e.g., “In 20 mturn right”) that has specific details of about when to turn next. Incontrast, when the confidence level is lower (e.g., 60% sure that thenext link is a one-way street that may or may not allow the user toturn), the command generator 305 can generate a less specific navigationcommand (e.g., “At the next possibility, turn right” or similar). Evenif the user cannot in fact make the immediate next right (e.g., becauseof a one-way street that was unknown or unmapped by the map platform101), the user would still know to make the next right turn as the mapplatform 101 knows of another possible right turn after the next link.Thus, this navigation is less specific about which exact right turn totake but still specific about taking a right turn. In the 0% confidencelevel example, the map platform 101 has no available probe tocharacterize links in the routing area, but knows generally that theintended destination is to the right of the user based on the availablemap data. As a result, the command generator 305 can advantageouslygenerate a less specific but still informative navigation command (e.g.,“Drive toward your right when possible”). This command alerts the driverto look for opportunities to head towards his right without specifyingeither an exact link or a distance to reach a destination towards theright.

The example of Table 2 is similar to the example of Table 1 with theexception that the criteria for determining the confidence level of thepath existence attribute can be different than that used for the pathdirectionality attribute. In one embodiment, to calculate the confidencefor the path existence attribute, the map platform 101 determines thenumber of available probe vehicle samples that indicate the presence ofthe link (e.g., number of samples that traverse a path that maycorrespond to a link) and calculates the confidence from the number. Forexample, if the number of samples is greater than a minimum threshold,the confidence can be calculated as 100% or another relatively highvalue. If the number of samples is below the threshold, the confidencecan decrease monotonically with the number of samples to 0% confidencewhere no samples are available.

In one embodiment, the command generator 305 can generate additionalinformation for the user. For example, command generator 305 can provideadditional information for users to drive paths with lower confidencelevels so that the map platform 101 can collect additional probe data toupdate map data (e.g., update via the map update module 309).Accordingly, in one example use case, the navigation guidance command isgenerated to indicate a potential benefit associated with following aless specific navigation guidance command. The potential benefit caninclude, but is not limited to, a potentially decreased travel time, apotentially increased parking availability, or combination thereof. Thisinformation can be useful for a user to weight the potential benefits offollowing a less confidence route against the uncertainty of that route.

In step 407, the output module 309 presents the navigation guidancecommand in a user interface of a navigation device. For example, thenavigation guidance command can be presented in any navigationapplication, system, device, etc. of the vehicle 105 and UE 107. Theguidance command can also be presented using any user interface mediumincluding, but not limited to, spoken word instructions, audio cues,visual cues, animation, etc. presented on one or more multiple userdevices (e.g., multiple in-vehicle displays, heads-up displays,speakers, etc.).

The examples of FIGS. 5A-7 illustrate example user interfaces forpresenting navigation guidance commands for routing in areas withincomplete maps. These examples are based on a navigation routecalculated in a routing area that is an indoor parking structure 501 asshown in FIG. 5A. The parking structure 501 is illustrated to indicatethe completeness of the map data representing the road links or paths aswell as the parking spots in the parking structure 501. The illustrationof the parking structure 501 uses the legend 503 to indicate theconfidence levels of each of the components (e.g., as determined fromprobe data). For example, a solid double line indicates that a path inthe parking structure 501 is a two-way path with greater than 85%confidence, a single solid line indicates a one-way path with greaterthan 85% confidence, a single dashed line with longer dashes indicates aone-way street with a confidence between 65% and 85%, and single dashedline with shorter dashes indicates a one-way street with a confidencebelow 65%. A confirmed or validated parking spot (e.g., confirmed viaprobe data) with a confidence greater than 85% is marked by shadedrectangular boxes. Implied parking spots that have not been confirmedvia probe data (e.g., having no or less than a minimum number ofconfirming probe samples) but are likely to be presented based on theparking structure 501's geometry are indicated by unshaded rectangularboxes.

In one embodiment, the routing module 301 can calculate a navigationroute through the parking structure 501 (or any other routing area 109)based on the confidence level of the one or more links. With respect toa parking structure, the routing module 301 can also consider apopularity of one or more of the plurality of parking spaces, aconnectivity to an uncertain area of the parking structure, a potentialfor parking availability in an area of the parking structure, or acombination thereof. FIG. 5B illustrates an example route 521 throughthe parking structure that follows only high confidence paths from anentrance 523 to an exit 525 of the parking structure 501. In otherwords, the example route 521 excludes any low confidence level linksfrom the route.

In one embodiment, the routing module 301 can calculate a navigationroute through the parking structure 501 to search for parking. This typeof route can be an open-ended parking search route (e.g., infinityroute) through the parking structure that circles within the parkingstructure 501 until the driver finds a parking spot. The routing module301, or instance, can automatically detect when a driver or user entersthe parking structure 501 or other routing area 109 and initiate thecalculation of this infinity route automatically without specificintervention (e.g., when configured to do so by the user). In oneembodiment, this type of navigation route is calculated to include afirst section (e.g., a section 601 as shown in FIG. 6A) comprising theone or more links for which the confidence level is above a firstthreshold confidence (e.g., 65% in this example). The first section 601can extend until there are no further links with a confidence above thisfirst threshold. For this first section 601, the specificity level ofthe navigation guidance command can be a high specificity level when thedriver is traveling on the one or more links for which the confidencelevel is above the first threshold confidence. The one or more links inthe section 601 can be prioritized in the infinity route based on thepopularity of the one or more of the plurality of parking spots that areaccessed from the one or more links in the first section. In oneembodiment, the output module 307 can present navigation guidancecommands 603 a-603 c at various locations in the first section 601(e.g., commands generated at a high specificity level such as “turnright in 20 m”). In addition, as shown in the pop out illustration 605,the commands 603 a-603 c can include parking related information (e.g.,“Popular parking area. Park here if possible!”) based on mappedinformation about the validated parking spots in the corresponding areasof the parking structure 501.

In one embodiment, the infinity route can then be calculated to includea second section 621 as shown in FIG. 6B after the first section 601 ofFIG. 6A (e.g., illustrated using a thin line in the FIG. 6B). The secondsection 621 comprises the one or more links for which the confidencelevel is below the first threshold confidence (e.g., 65%) and above asecond threshold confidence (e.g., 55%). This second section 621 of theinfinity route can include multiple lower confidence paths 623 a and 623b as possible path options for the user to follow (e.g., illustrated asdashed route lines). In one embodiment, the specificity level forgenerating the navigation guidance commands is an intermediatespecificity level for the one or more links in the second section 621for which the confidence level is below the first threshold confidenceand above the second threshold confidence. For example, the intermediatespecificity level can be less specific as to which of the possible pathsoptions 623 a and 623 b the driver can take. In this example, a guidancecommand 625 can be presented before the user reaches the two possiblepath options. As shown in the pop out illustration 627, the intermediatespecificity guidance command 625 can state “Take one of the nextavailable right turns!” so that the driver can be alerted of theupcoming path possibilities with being specific as to which of the twothe driver should take.

As shown in FIG. 6C, the output module 307 can present an incentivemessage 641 in association with the navigation guidance command toencourage the driver to explore a potentially lower confidence path. Forexample, the incentive message indicates the potential for parkingavailability in the area of the parking structure 501 associated withthe second section, the third section, or a combination thereof. In thiscase, the incentive message states “Look out for free parking here!” ifthe user takes the optional lower confidence path 623 b.

In one embodiment, the infinity route can continue to through lowerconfidence paths before ultimately looping back to the higher confidencepaths to continue the open-ended parking search (e.g., open-ended untilthe user finds a parking spot). For example, the infinity route can thenbe calculated to include a third section (not shown) after the secondsection 621. The third section comprises the one or more links for whichthe confidence level is below the second threshold confidence (e.g.,55%). Similarly, the specificity level of the navigation guidancecommand is a low specificity level for the one or more links for whichthe confidence level is below the second threshold confidence. Thislower specificity level may result, for instance, in generating anavigation guidance that states “Drive towards the left side of theparking structure to find more parking” or similar.

As noted above, an infinity route is just one example type of route thatcan be calculated for incomplete maps. Another example route can bebased on routing towards a known exit of the parking structure 501 withincomplete map data as shown in FIG. 7. In the example of FIG. 7, adriver has parked in a parking spot 701 of the parking structure 501 andis now planning on exiting the parking structure 501. To assist thedriver in exiting the parking structure 501, the map platform 101 caninitiate the embodiments for generating navigation guidance instructionsfor incomplete maps as described with respect to FIG. 8.

FIG. 8 is flowchart of a process of routing in an area with incompletemap data, according to one embodiment. In various embodiments, the mapplatform 101 and/or any of the modules 301-309 of the map platform 101as shown in FIG. 3 may perform one or more portions of the process 800and may be implemented in, for instance, a chip set including aprocessor and a memory as shown in FIG. 11. As such, the map platform101 and/or any of the modules 301-309 can provide means foraccomplishing various parts of the process 800, as well as means foraccomplishing embodiments of other processes described herein inconjunction with other components of the system 100. Although theprocess 800 is illustrated and described as a sequence of steps, itscontemplated that various embodiments of the process 800 may beperformed in any order or combination and need not include all of theillustrated steps.

With respect to the example of FIG. 7, the process 800 can be initiatedmanually by the driver or automatically by the map platform 101 todetect that the driver wants to drive towards the exit 703 of theparking structure 501. It is noted that process 800 is not exclusive tothe example of FIG. 7 and may be used as a general process for any othertype of routing in incomplete map areas.

In step 801, the map platform 101 computes at least one known path fromthe starting location to a destination. In the example of FIG. 7, thestarting location is the parking spot 701 and the ending location is theexit 703 of the parking structure 501. The known path 705 is the pathwith links associated with confidence levels above a threshold value(e.g., >85%).

In step 803, the map platform 101 identifies other possible routes thathave lower confidence levels. For example, the map platform 101 cancalculate a route 707 that includes a link with a confidence below thethreshold value (e.g., <85%).

In step 805, the map platform 101 generates a navigation guidancecommand for the route options (e.g., known path 705 and other possibleroute 707) based on a specificity level that accounts for the confidenceof the lower confidence possible route 707. In the example of FIG. 7,the map platform 101 can present a generated guidance command 709 at alocation before the different turning options between the known path 705and the possible route 707. As shown in the pop out illustration 711,the navigation guidance command 709 can be less specific because thereare two possible route options and instruct the driver to “Take the nextpossible right!”. In this way, the navigation guidance command 709 canbe general enough so that it would be possible for the driver to takethe next right onto the possible route 707 if available, or to take thefollowing right onto the known path 705 if the possible route 707 is notavailable or not desired.

In step 807, the map platform 101 can detect when the driver or userdrives on the route associated with the lower confidence level (e.g.,choses to drive on the route 707 versus the known path 705). The mapplatform 101 can then collect probe data from the navigation device(e.g., UE 107), a vehicle 105 associated with the navigation device, ora combination thereof as the navigation device, the vehicle 105, or acombination thereof follows the presented navigation command along thenavigation route (step 809). In one embodiment, the probe data can becollected from the entire navigation route or just the sections orportions of the route covering links with confidence levels below thethreshold value or values. The map platform 101 can then use thecollected probe update to update the confidence level, the attributes,map data, or a combination thereof for the one or more links of theroute (e.g., as stored in the geographic database 103).

Returning to FIG. 1, as shown, the system 100 includes a vehicle 105and/or UE 107 with connectivity to the map platform 101 and thegeographic database 103 for providing navigation guidance for incompletemaps according to the embodiments described herein. In one embodiment,the map platform 101, vehicle 105, UE 107, and/or other components ofthe system 100 have connectivity over the communication network 113 tothe services platform 115 that provides one or more services 117including, but not limited to, mapping services, navigation services,travel planning services, notification services, social networkingservices, content (e.g., audio, video, images, etc.) provisioningservices, application services, storage services, contextual informationdetermination services, location-based services, information-basedservices (e.g., weather, news, etc.), etc.

In one embodiment, the map platform 101, vehicle 105, UE 107, and/orother components of the system 100 may be platforms with multipleinterconnected components. The map platform 101, vehicle 105, UE 107,and/or other components of the system 100 may include multiple servers,intelligent networking devices, computing devices, components andcorresponding software for providing parametric representations of lanelines. In addition, it is noted that the map platform 101 may be aseparate entity of the system 100, a part of the one or more services117, a part of the services platform 115, or included within the UE 107and/or vehicle 105.

In one embodiment, content providers 119 a-119 m (collectively referredto as content providers 119) may provide content or data (e.g.,including learned traffic sign data or other geographic data) to thegeographic database 103, the map platform 101, the services platform115, the services 117, the UE 107, the vehicle 105, and/or anapplication 111 executing on the UE 107. The content provided may be anytype of content, such as navigation guidance, map content, textualcontent, audio content, video content, image content, etc. In oneembodiment, the content providers 119 may provide content that may aidin the computing confidence levels of road links and their attributesfrom sensor data (e.g., probe data) to determine the specificity ofnavigation guidance commands. In one embodiment, the content providers119 may also store content associated with the geographic database 103,map platform 101, services platform 115, services 117, UE 107, and/orvehicle 105. In another embodiment, the content providers 119 may manageaccess to a central repository of data, and offer a consistent, standardinterface to data, such as a repository of the geographic database 103.

In one embodiment, the UE 107 and/or vehicle 105 may execute a softwareapplication 111 to generate navigation guidance for incomplete mapsincluding collecting probe data for generating map data according theembodiments described herein. By way of example, the application 111 mayalso be any type of application that is executable on the UE 107 and/orvehicle 105, such as autonomous driving applications, mappingapplications, location-based service applications, navigationapplications, content provisioning services, camera/imaging application,media player applications, social networking applications, calendarapplications, and the like. In one embodiment, the application 111 mayact as a client for the map platform 101, services platform 115, and/orservices 117 and perform one or more functions associated withgenerating navigation guidance for incomplete maps.

By way of example, the UE 107 is any type of embedded system, mobileterminal, fixed terminal, or portable terminal including a built-innavigation system, a personal navigation device, mobile handset,station, unit, device, multimedia computer, multimedia tablet, Internetnode, communicator, desktop computer, laptop computer, notebookcomputer, netbook computer, tablet computer, personal communicationsystem (PCS) device, personal digital assistants (PDAs), audio/videoplayer, digital camera/camcorder, positioning device, fitness device,television receiver, radio broadcast receiver, electronic book device,game device, or any combination thereof, including the accessories andperipherals of these devices, or any combination thereof. It is alsocontemplated that the UE 107 can support any type of interface to theuser (such as “wearable” circuitry, etc.). In one embodiment, the UE 107may be associated with the vehicle 105 or be a component part of thevehicle 105.

In one embodiment, the UE 107 and/or vehicle 105 are configured withvarious sensors (e.g., sensors 121) for generating or collecting probedata, environmental sensor data, related geographic data, etc. includingbut not limited to, optical, radar, ultrasonic, LiDAR, etc. sensors. Inone embodiment, the sensed data represent probe data associated with ageographic location or coordinates at which the sensor data wascollected. By way of example, the sensors may include a globalpositioning sensor for gathering location data (e.g., GPS), a networkdetection sensor for detecting wireless signals or receivers fordifferent short-range communications (e.g., Bluetooth, Wi-Fi, Li-Fi,near field communication (NFC) etc.), temporal information sensors, acamera/imaging sensor for gathering image data (e.g., the camera sensorsmay automatically capture road sign information, images of roadobstructions, etc. for analysis), an audio recorder for gathering audiodata, velocity sensors mounted on steering wheels of the vehicles,switch sensors for determining whether one or more vehicle switches areengaged, and the like.

Other examples of sensors of the UE 107 and/or vehicle 105 may includelight sensors, orientation sensors augmented with height sensors andacceleration sensor (e.g., an accelerometer can measure acceleration andcan be used to determine orientation of the vehicle), tilt sensors todetect the degree of incline or decline of the vehicle along a path oftravel, moisture sensors, pressure sensors, etc. In a further exampleembodiment, sensors about the perimeter of the UE 107 and/or vehicle 105may detect the relative distance of the vehicle from a lane or roadway,the presence of other vehicles, pedestrians, traffic lights, potholesand any other objects, or a combination thereof. In one scenario, thesensors may detect weather data, traffic information, or a combinationthereof. In one embodiment, the UE 107 and/or vehicle 105 may includeGPS or other satellite-based receivers to obtain geographic coordinatesfrom satellites 123 for determining current location and time. Further,the location can be determined by visual odometry, triangulation systemssuch as A-GPS, Cell of Origin, or other location extrapolationtechnologies. In yet another embodiment, the sensors can determine thestatus of various control elements of the car, such as activation ofwipers, use of a brake pedal, use of an acceleration pedal, angle of thesteering wheel, activation of hazard lights, activation of head lights,etc.

In one embodiment, the communication network 113 of system 100 includesone or more networks such as a data network, a wireless network, atelephony network, or any combination thereof. It is contemplated thatthe data network may be any local area network (LAN), metropolitan areanetwork (MAN), wide area network (WAN), a public data network (e.g., theInternet), short range wireless network, or any other suitablepacket-switched network, such as a commercially owned, proprietarypacket-switched network, e.g., a proprietary cable or fiber-opticnetwork, and the like, or any combination thereof. In addition, thewireless network may be, for example, a cellular network and may employvarious technologies including enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UMTS), etc., as well as anyother suitable wireless medium, e.g., worldwide interoperability formicrowave access (WiMAX), Long Term Evolution (LTE) networks, codedivision multiple access (CDMA), wideband code division multiple access(WCDMA), wireless fidelity (Wi-Fi), wireless LAN (WLAN), Bluetooth®,Internet Protocol (IP) data casting, satellite, mobile ad-hoc network(MANET), and the like, or any combination thereof.

By way of example, the map platform 101, services platform 115, services117, UE 107, vehicle 105, and/or content providers 119 communicate witheach other and other components of the system 100 using well known, newor still developing protocols. In this context, a protocol includes aset of rules defining how the network nodes within the communicationnetwork 113 interact with each other based on information sent over thecommunication links. The protocols are effective at different layers ofoperation within each node, from generating and receiving physicalsignals of various types, to selecting a link for transferring thosesignals, to the format of information indicated by those signals, toidentifying which software application executing on a computer systemsends or receives the information. The conceptually different layers ofprotocols for exchanging information over a network are described in theOpen Systems Interconnection (OSI) Reference Model.

Communications between the network nodes are typically effected byexchanging discrete packets of data. Each packet typically comprises (1)header information associated with a particular protocol, and (2)payload information that follows the header information and containsinformation that may be processed independently of that particularprotocol. In some protocols, the packet includes (3) trailer informationfollowing the payload and indicating the end of the payload information.The header includes information such as the source of the packet, itsdestination, the length of the payload, and other properties used by theprotocol. Often, the data in the payload for the particular protocolincludes a header and payload for a different protocol associated with adifferent, higher layer of the OSI Reference Model. The header for aparticular protocol typically indicates a type for the next protocolcontained in its payload. The higher layer protocol is said to beencapsulated in the lower layer protocol. The headers included in apacket traversing multiple heterogeneous networks, such as the Internet,typically include a physical (layer 1) header, a data-link (layer 2)header, an internetwork (layer 3) header and a transport (layer 4)header, and various application (layer 5, layer 6 and layer 7) headersas defined by the OSI Reference Model.

FIG. 9 is a diagram of a geographic database 103, according to oneembodiment. In one embodiment, the geographic database 103 includesgeographic data 901 used for (or configured to be compiled to be usedfor) mapping and/or navigation-related services, such as for videoodometry based on the parametric representation of lanes include, e.g.,encoding and/or decoding parametric representations into lane lines. Inone embodiment, the geographic database 103 include high resolution orhigh definition (HD) mapping data that provide centimeter-level orbetter accuracy of map features. For example, the geographic database103 can be based on Light Detection and Ranging (LiDAR) or equivalenttechnology to collect billions of 3D points and model road surfaces andother map features down to the number lanes and their widths. In oneembodiment, the HD mapping data (e.g., HD data records 911) capture andstore details such as the slope and curvature of the road, lanemarkings, roadside objects such as sign posts, including what thesignage denotes. By way of example, the HD mapping data enable highlyautomated vehicles to precisely localize themselves on the road, and todetermine road attributes (e.g., learned speed limit values) to at highaccuracy levels.

In one embodiment, geographic features (e.g., two-dimensional orthree-dimensional features) are represented using polygons (e.g.,two-dimensional features) or polygon extrusions (e.g., three-dimensionalfeatures). For example, the edges of the polygons correspond to theboundaries or edges of the respective geographic feature. In the case ofa building, a two-dimensional polygon can be used to represent afootprint of the building, and a three-dimensional polygon extrusion canbe used to represent the three-dimensional surfaces of the building. Itis contemplated that although various embodiments are discussed withrespect to two-dimensional polygons, it is contemplated that theembodiments are also applicable to three-dimensional polygon extrusions.Accordingly, the terms polygons and polygon extrusions as used hereincan be used interchangeably.

In one embodiment, the following terminology applies to therepresentation of geographic features in the geographic database 103.

“Node”—A point that terminates a link.

“Line segment”—A straight line connecting two points.

“Link” (or “edge”)—A contiguous, non-branching string of one or moreline segments terminating in a node at each end.

“Shape point”—A point along a link between two nodes (e.g., used toalter a shape of the link without defining new nodes).

“Oriented link”—A link that has a starting node (referred to as the“reference node”) and an ending node (referred to as the “non referencenode”).

“Simple polygon”—An interior area of an outer boundary formed by astring of oriented links that begins and ends in one node. In oneembodiment, a simple polygon does not cross itself.

“Polygon”—An area bounded by an outer boundary and none or at least oneinterior boundary (e.g., a hole or island). In one embodiment, a polygonis constructed from one outer simple polygon and none or at least oneinner simple polygon. A polygon is simple if it just consists of onesimple polygon, or complex if it has at least one inner simple polygon.

In one embodiment, the geographic database 103 follows certainconventions. For example, links do not cross themselves and do not crosseach other except at a node. Also, there are no duplicated shape points,nodes, or links. Two links that connect each other have a common node.In the geographic database 103, overlapping geographic features arerepresented by overlapping polygons. When polygons overlap, the boundaryof one polygon crosses the boundary of the other polygon. In thegeographic database 103, the location at which the boundary of onepolygon intersects they boundary of another polygon is represented by anode. In one embodiment, a node may be used to represent other locationsalong the boundary of a polygon than a location at which the boundary ofthe polygon intersects the boundary of another polygon. In oneembodiment, a shape point is not used to represent a point at which theboundary of a polygon intersects the boundary of another polygon.

In one embodiment, the geographic database 103 is stored as ahierarchical or multi-level tile-based projection or structure. Morespecifically, in one embodiment, the geographic database 103 may bedefined according to a normalized Mercator projection. Other projectionsmay be used. By way of example, the map tile grid of a Mercator orsimilar projection is a multilevel grid. Each cell or tile in a level ofthe map tile grid is divisible into the same number of tiles of thatsame level of grid. In other words, the initial level of the map tilegrid (e.g., a level at the lowest zoom level) is divisible into fourcells or rectangles. Each of those cells are in turn divisible into fourcells, and so on until the highest zoom or resolution level of theprojection is reached.

In one embodiment, the map tile grid may be numbered in a systematicfashion to define a tile identifier (tile ID). For example, the top lefttile may be numbered 00, the top right tile may be numbered 01, thebottom left tile may be numbered 10, and the bottom right tile may benumbered 11. In one embodiment, each cell is divided into fourrectangles and numbered by concatenating the parent tile ID and the newtile position. A variety of numbering schemes also is possible. Anynumber of levels with increasingly smaller geographic areas mayrepresent the map tile grid. Any level (n) of the map tile grid has2(n+1) cells. Accordingly, any tile of the level (n) has a geographicarea of A/2(n+1) where A is the total geographic area of the world orthe total area of the map tile grid 10. Because of the numbering system,the exact position of any tile in any level of the map tile grid orprojection may be uniquely determined from the tile ID.

In one embodiment, the system 100 may identify a tile by a quadkeydetermined based on the tile ID of a tile of the map tile grid. Thequadkey, for example, is a one-dimensional array including numericalvalues. In one embodiment, the quadkey may be calculated or determinedby interleaving the bits of the row and column coordinates of a tile inthe grid at a specific level. The interleaved bits may be converted to apredetermined base number (e.g., base 10, base 4, hexadecimal). In oneexample, leading zeroes are inserted or retained regardless of the levelof the map tile grid in order to maintain a constant length for theone-dimensional array of the quadkey. In another example, the length ofthe one-dimensional array of the quadkey may indicate the correspondinglevel within the map tile grid 10. In one embodiment, the quadkey is anexample of the hash or encoding scheme of the respective geographicalcoordinates of a geographical data point that can be used to identify atile in which the geographical data point is located.

As shown, the geographic database 103 includes node data records 903,road segment or link data records 905, POI data records 907, confidencedata records 909, HD mapping data records 911, and indexes 913, forexample. More, fewer or different data records can be provided. In oneembodiment, additional data records (not shown) can include cartographic(“carto”) data records, routing data, and maneuver data. In oneembodiment, the indexes 913 may improve the speed of data retrievaloperations in the geographic database 103. In one embodiment, theindexes 913 may be used to quickly locate data without having to searchevery row in the geographic database 103 every time it is accessed. Forexample, in one embodiment, the indexes 913 can be a spatial index ofthe polygon points associated with stored feature polygons.

In exemplary embodiments, the road segment data records 905 are links orsegments representing roads, streets, or paths, as can be used in thecalculated route or recorded route information for determination of oneor more personalized routes. The node data records 903 are end pointscorresponding to the respective links or segments of the road segmentdata records 905. The road link data records 905 and the node datarecords 903 represent a road network, such as used by vehicles, cars,and/or other entities. Alternatively, the geographic database 103 cancontain path segment and node data records or other data that representpedestrian paths or areas in addition to or instead of the vehicle roadrecord data, for example.

The road/link segments and nodes can be associated with attributes, suchas geographic coordinates, existence, bi-directionality, street names,address ranges, speed limits, turn restrictions at intersections, andother navigation related attributes, as well as POIs, such as gasolinestations, hotels, restaurants, museums, stadiums, offices, automobiledealerships, auto repair shops, buildings, stores, parks, etc. Thegeographic database 103 can include data about the POIs and theirrespective locations in the POI data records 907. The geographicdatabase 103 can also include data about places, such as parkingstructures, indoor areas, buildings, cities, towns, or othercommunities, and other geographic features, such as bodies of water,mountain ranges, etc. Such place or feature data can be part of the POIdata records 907 or can be associated with POIs or POI data records 907(such as a data point used for displaying or representing a position ofa city).

In one embodiment, the geographic database 103 can also includeconfidence data records 909 for storing computed confidence levels,specificity levels, generated navigation guidance commands, probe data,and/or any other data related to providing navigation guidance forincomplete maps according to the embodiments described herein. Forexample, the confidence data records 909 can also store confidence oraccuracy determinations for any other data stored in the geographicdatabase 103. By way of example, the confidence data records 909 can beassociated with one or more of the node records 903, road segmentrecords 905, and/or POI data records 907 to support the embodimentsdescribed herein. In one embodiment, the confidence data records 909 arestored as a data layer of the hierarchical tile-based structure of thegeographic database 103.

In one embodiment, as discussed above, the HD mapping data records 911model road surfaces and other map features to centimeter-level or betteraccuracy. The HD mapping data records 911 also include lane models thatprovide the precise lane geometry with lane boundaries, as well as richattributes of the lane models. These rich attributes include, but arenot limited to, lane traversal information, lane types, lane markingtypes, lane level speed limit information, and/or the like. In oneembodiment, the HD mapping data records 911 are divided into spatialpartitions of varying sizes to provide HD mapping data to vehicles 105and other end user devices with near real-time speed without overloadingthe available resources of the vehicles 105 and/or devices (e.g.,computational, memory, bandwidth, etc. resources).

In one embodiment, the HD mapping data records 911 are created fromhigh-resolution 3D mesh or point-cloud data generated, for instance,from LiDAR-equipped vehicles. The 3D mesh or point-cloud data areprocessed to create 3D representations of a street or geographicenvironment at centimeter-level accuracy for storage in the HD mappingdata records 911.

In one embodiment, the HD mapping data records 911 also includereal-time sensor data collected from probe vehicles in the field. Thereal-time sensor data, for instance, integrates real-time trafficinformation, weather, and road conditions (e.g., potholes, roadfriction, road wear, etc.) with highly detailed 3D representations ofstreet and geographic features to provide precise real-time also atcentimeter-level accuracy. Other sensor data can include vehicletelemetry or operational data such as windshield wiper activation state,braking state, steering angle, accelerator position, and/or the like.

In one embodiment, the geographic database 103 can be maintained by thecontent provider 119 in association with the services platform 115 orthe map platform 101 (e.g., a map developer). The map developer cancollect geographic data to generate and enhance the geographic database103. There can be different ways used by the map developer to collectdata. These ways can include obtaining data from other sources, such asmunicipalities or respective geographic authorities. In addition, themap developer can employ field personnel to travel by vehicle (e.g.,vehicle 105 and/or UE 107) along roads throughout the geographic regionto observe features and/or record information about them, for example.Also, remote sensing, such as aerial or satellite photography, can beused.

The geographic database 103 can be a master geographic database storedin a format that facilitates updating, maintenance, and development. Forexample, the master geographic database or data in the master geographicdatabase can be in an Oracle spatial format or other spatial format,such as for development or production purposes. The Oracle spatialformat or development/production database can be compiled into adelivery format, such as a geographic data files (GDF) format. The datain the production and/or delivery formats can be compiled or furthercompiled to form geographic database products or databases, which can beused in end user navigation devices or systems.

For example, geographic data is compiled (such as into a platformspecification format (PSF)) to organize and/or configure the data forperforming navigation-related functions and/or services, such as routecalculation, route guidance, map display, speed calculation, distanceand travel time functions, and other functions, by a navigation device,such as by a vehicle 105 or UE 107. The navigation-related functions cancorrespond to vehicle navigation, pedestrian navigation, or other typesof navigation. The compilation to produce the end user databases can beperformed by a party or entity separate from the map developer. Forexample, a customer of the map developer, such as a navigation devicedeveloper or other end user device developer, can perform compilation ona received geographic database in a delivery format to produce one ormore compiled navigation databases.

The processes described herein for generating navigation guidance forincomplete maps may be advantageously implemented via software, hardware(e.g., general processor, Digital Signal Processing (DSP) chip, anApplication Specific Integrated Circuit (ASIC), Field Programmable GateArrays (FPGAs), etc.), firmware or a combination thereof. Such exemplaryhardware for performing the described functions is detailed below.

FIG. 10 illustrates a computer system 1000 upon which an embodiment maybe implemented. Computer system 1000 is programmed (e.g., via computerprogram code or instructions) to generate navigation guidance forincomplete maps as described herein and includes a communicationmechanism such as a bus 1010 for passing information between otherinternal and external components of the computer system 1000.Information (also called data) is represented as a physical expressionof a measurable phenomenon, typically electric voltages, but including,in other embodiments, such phenomena as magnetic, electromagnetic,pressure, chemical, biological, molecular, atomic, sub-atomic andquantum interactions. For example, north and south magnetic fields, or azero and non-zero electric voltage, represent two states (0, 1) of abinary digit (bit). Other phenomena can represent digits of a higherbase. A superposition of multiple simultaneous quantum states beforemeasurement represents a quantum bit (qubit). A sequence of one or moredigits constitutes digital data that is used to represent a number orcode for a character. In some embodiments, information called analogdata is represented by a near continuum of measurable values within aparticular range.

A bus 1010 includes one or more parallel conductors of information sothat information is transferred quickly among devices coupled to the bus1010. One or more processors 1002 for processing information are coupledwith the bus 1010.

A processor 1002 performs a set of operations on information asspecified by computer program code related to generating navigationguidance for incomplete maps. The computer program code is a set ofinstructions or statements providing instructions for the operation ofthe processor and/or the computer system to perform specified functions.The code, for example, may be written in a computer programming languagethat is compiled into a native instruction set of the processor. Thecode may also be written directly using the native instruction set(e.g., machine language). The set of operations include bringinginformation in from the bus 1010 and placing information on the bus1010. The set of operations also typically include comparing two or moreunits of information, shifting positions of units of information, andcombining two or more units of information, such as by addition ormultiplication or logical operations like OR, exclusive OR (XOR), andAND. Each operation of the set of operations that can be performed bythe processor is represented to the processor by information calledinstructions, such as an operation code of one or more digits. Asequence of operations to be executed by the processor 1002, such as asequence of operation codes, constitute processor instructions, alsocalled computer system instructions or, simply, computer instructions.Processors may be implemented as mechanical, electrical, magnetic,optical, chemical or quantum components, among others, alone or incombination.

Computer system 1000 also includes a memory 1004 coupled to bus 1010.The memory 1004, such as a random access memory (RAM) or other dynamicstorage device, stores information including processor instructions forgenerating navigation guidance for incomplete maps. Dynamic memoryallows information stored therein to be changed by the computer system1000. RAM allows a unit of information stored at a location called amemory address to be stored and retrieved independently of informationat neighboring addresses. The memory 1004 is also used by the processor1002 to store temporary values during execution of processorinstructions. The computer system 1000 also includes a read only memory(ROM) 1006 or other static storage device coupled to the bus 1010 forstoring static information, including instructions, that is not changedby the computer system 1000. Some memory is composed of volatile storagethat loses the information stored thereon when power is lost. Alsocoupled to bus 1010 is a non-volatile (persistent) storage device 1008,such as a magnetic disk, optical disk or flash card, for storinginformation, including instructions, that persists even when thecomputer system 1000 is turned off or otherwise loses power.

Information, including instructions for generating navigation guidancefor incomplete maps, is provided to the bus 1010 for use by theprocessor from an external input device 1012, such as a keyboardcontaining alphanumeric keys operated by a human user, or a sensor. Asensor detects conditions in its vicinity and transforms thosedetections into physical expression compatible with the measurablephenomenon used to represent information in computer system 1000. Otherexternal devices coupled to bus 1010, used primarily for interactingwith humans, include a display device 1014, such as a cathode ray tube(CRT) or a liquid crystal display (LCD), or plasma screen or printer forpresenting text or images, and a pointing device 1016, such as a mouseor a trackball or cursor direction keys, or motion sensor, forcontrolling a position of a small cursor image presented on the display1014 and issuing commands associated with graphical elements presentedon the display 1014. In some embodiments, for example, in embodiments inwhich the computer system 1000 performs all functions automaticallywithout human input, one or more of external input device 1012, displaydevice 1014 and pointing device 1016 is omitted.

In the illustrated embodiment, special purpose hardware, such as anapplication specific integrated circuit (ASIC) 1020, is coupled to bus1010. The special purpose hardware is configured to perform operationsnot performed by processor 1002 quickly enough for special purposes.Examples of application specific ICs include graphics accelerator cardsfor generating images for display 1014, cryptographic boards forencrypting and decrypting messages sent over a network, speechrecognition, and interfaces to special external devices, such as roboticarms and medical scanning equipment that repeatedly perform some complexsequence of operations that are more efficiently implemented inhardware.

Computer system 1000 also includes one or more instances of acommunications interface 1070 coupled to bus 1010. Communicationinterface 1070 provides a one-way or two-way communication coupling to avariety of external devices that operate with their own processors, suchas printers, scanners and external disks. In general, the coupling iswith a network link 1078 that is connected to a local network 1080 towhich a variety of external devices with their own processors areconnected. For example, communication interface 1070 may be a parallelport or a serial port or a universal serial bus (USB) port on a personalcomputer. In some embodiments, communications interface 1070 is anintegrated services digital network (ISDN) card or a digital subscriberline (DSL) card or a telephone modem that provides an informationcommunication connection to a corresponding type of telephone line. Insome embodiments, a communication interface 1070 is a cable modem thatconverts signals on bus 1010 into signals for a communication connectionover a coaxial cable or into optical signals for a communicationconnection over a fiber optic cable. As another example, communicationsinterface 1070 may be a local area network (LAN) card to provide a datacommunication connection to a compatible LAN, such as Ethernet. Wirelesslinks may also be implemented. For wireless links, the communicationsinterface 1070 sends or receives or both sends and receives electrical,acoustic or electromagnetic signals, including infrared and opticalsignals, that carry information streams, such as digital data. Forexample, in wireless handheld devices, such as mobile telephones likecell phones, the communications interface 1070 includes a radio bandelectromagnetic transmitter and receiver called a radio transceiver. Incertain embodiments, the communications interface 1070 enablesconnection to the communication network 113 for generating navigationguidance for incomplete maps.

The term computer-readable medium is used herein to refer to any mediumthat participates in providing information to processor 1002, includinginstructions for execution. Such a medium may take many forms,including, but not limited to, non-volatile media, volatile media andtransmission media. Non-volatile media include, for example, optical ormagnetic disks, such as storage device 1008. Volatile media include, forexample, dynamic memory 1004. Transmission media include, for example,coaxial cables, copper wire, fiber optic cables, and carrier waves thattravel through space without wires or cables, such as acoustic waves andelectromagnetic waves, including radio, optical and infrared waves.Signals include man-made transient variations in amplitude, frequency,phase, polarization or other physical properties transmitted through thetransmission media. Common forms of computer-readable media include, forexample, a floppy disk, a flexible disk, hard disk, magnetic tape, anyother magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium,punch cards, paper tape, optical mark sheets, any other physical mediumwith patterns of holes or other optically recognizable indicia, a RAM, aPROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, acarrier wave, or any other medium from which a computer can read.

FIG. 11 illustrates a chip set 1100 upon which an embodiment may beimplemented. Chip set 1100 is programmed to generate navigation guidancefor incomplete maps as described herein and includes, for instance, theprocessor and memory components described with respect to FIG. 10incorporated in one or more physical packages (e.g., chips). By way ofexample, a physical package includes an arrangement of one or morematerials, components, and/or wires on a structural assembly (e.g., abaseboard) to provide one or more characteristics such as physicalstrength, conservation of size, and/or limitation of electricalinteraction. It is contemplated that in certain embodiments the chip setcan be implemented in a single chip.

In one embodiment, the chip set 1100 includes a communication mechanismsuch as a bus 1101 for passing information among the components of thechip set 1100. A processor 1103 has connectivity to the bus 1101 toexecute instructions and process information stored in, for example, amemory 1105. The processor 1103 may include one or more processing coreswith each core configured to perform independently. A multi-coreprocessor enables multiprocessing within a single physical package.Examples of a multi-core processor include two, four, eight, or greaternumbers of processing cores. Alternatively or in addition, the processor1103 may include one or more microprocessors configured in tandem viathe bus 1101 to enable independent execution of instructions,pipelining, and multithreading. The processor 1103 may also beaccompanied with one or more specialized components to perform certainprocessing functions and tasks such as one or more digital signalprocessors (DSP) 1107, or one or more application-specific integratedcircuits (ASIC) 1109. A DSP 1107 typically is configured to processreal-world signals (e.g., sound) in real time independently of theprocessor 1103. Similarly, an ASIC 1109 can be configured to performedspecialized functions not easily performed by a general purposedprocessor. Other specialized components to aid in performing theinventive functions described herein include one or more fieldprogrammable gate arrays (FPGA) (not shown), one or more controllers(not shown), or one or more other special-purpose computer chips.

The processor 1103 and accompanying components have connectivity to thememory 1105 via the bus 1101. The memory 1105 includes both dynamicmemory (e.g., RAM, magnetic disk, writable optical disk, etc.) andstatic memory (e.g., ROM, CD-ROM, etc.) for storing executableinstructions that when executed perform the inventive steps describedherein to generate navigation guidance for incomplete maps. The memory1105 also stores the data associated with or generated by the executionof the inventive steps.

FIG. 12 is a diagram of exemplary components of a mobile terminal 1201(e.g., a UE 107 and/or component of the vehicle 105 ) capable ofoperating in the system of FIG. 1, according to one embodiment.Generally, a radio receiver is often defined in terms of front-end andback-end characteristics. The front-end of the receiver encompasses allof the Radio Frequency (RF) circuitry whereas the back-end encompassesall of the base-band processing circuitry. Pertinent internal componentsof the telephone include a Main Control Unit (MCU) 1203, a DigitalSignal Processor (DSP) 1205, and a receiver/transmitter unit including amicrophone gain control unit and a speaker gain control unit. A maindisplay unit 1207 provides a display to the user in support of variousapplications and mobile station functions that offer automatic contactmatching. An audio function circuitry 1209 includes a microphone 1211and microphone amplifier that amplifies the speech signal output fromthe microphone 1211. The amplified speech signal output from themicrophone 1211 is fed to a coder/decoder (CODEC) 1213.

A radio section 1215 amplifies power and converts frequency in order tocommunicate with a base station, which is included in a mobilecommunication system, via antenna 1217. The power amplifier (PA) 1219and the transmitter/modulation circuitry are operationally responsive tothe MCU 1203, with an output from the PA 1219 coupled to the duplexer1221 or circulator or antenna switch, as known in the art. The PA 1219also couples to a battery interface and power control unit 1220.

In use, a user of mobile station 1201 speaks into the microphone 1211and his or her voice along with any detected background noise isconverted into an analog voltage. The analog voltage is then convertedinto a digital signal through the Analog to Digital Converter (ADC)1223. The control unit 1203 routes the digital signal into the DSP 1205for processing therein, such as speech encoding, channel encoding,encrypting, and interleaving. In one embodiment, the processed voicesignals are encoded, by units not separately shown, using a cellulartransmission protocol such as global evolution (EDGE), general packetradio service (GPRS), global system for mobile communications (GSM),Internet protocol multimedia subsystem (IMS), universal mobiletelecommunications system (UMTS), etc., as well as any other suitablewireless medium, e.g., microwave access (WiMAX), Long Term Evolution(LTE) networks, code division multiple access (CDMA), wireless fidelity(WiFi), satellite, and the like.

The encoded signals are then routed to an equalizer 1225 forcompensation of any frequency-dependent impairments that occur duringtransmission though the air such as phase and amplitude distortion.After equalizing the bit stream, the modulator 1227 combines the signalwith a RF signal generated in the RF interface 1229. The modulator 1227generates a sine wave by way of frequency or phase modulation. In orderto prepare the signal for transmission, an up-converter 1231 combinesthe sine wave output from the modulator 1227 with another sine wavegenerated by a synthesizer 1233 to achieve the desired frequency oftransmission. The signal is then sent through a PA 1219 to increase thesignal to an appropriate power level. In practical systems, the PA 1219acts as a variable gain amplifier whose gain is controlled by the DSP1205 from information received from a network base station. The signalis then filtered within the duplexer 1221 and optionally sent to anantenna coupler 1235 to match impedances to provide maximum powertransfer. Finally, the signal is transmitted via antenna 1217 to a localbase station. An automatic gain control (AGC) can be supplied to controlthe gain of the final stages of the receiver. The signals may beforwarded from there to a remote telephone which may be another cellulartelephone, other mobile phone or a land-line connected to a PublicSwitched Telephone Network (PSTN), or other telephony networks.

Voice signals transmitted to the mobile station 1201 are received viaantenna 1217 and immediately amplified by a low noise amplifier (LNA)1237. A down-converter 1239 lowers the carrier frequency while thedemodulator 1241 strips away the RF leaving only a digital bit stream.The signal then goes through the equalizer 1225 and is processed by theDSP 1205. A Digital to Analog Converter (DAC) 1243 converts the signaland the resulting output is transmitted to the user through the speaker1245, all under control of a Main Control Unit (MCU) 1203—which can beimplemented as a Central Processing Unit (CPU) (not shown).

The MCU 1203 receives various signals including input signals from thekeyboard 1247. The keyboard 1247 and/or the MCU 1203 in combination withother user input components (e.g., the microphone 1211) comprise a userinterface circuitry for managing user input. The MCU 1203 runs a userinterface software to facilitate user control of at least some functionsof the mobile station 1201 to generate navigation guidance forincomplete maps. The MCU 1203 also delivers a display command and aswitch command to the display 1207 and to the speech output switchingcontroller, respectively. Further, the MCU 1203 exchanges informationwith the DSP 1205 and can access an optionally incorporated SIM card1249 and a memory 1251. In addition, the MCU 1203 executes variouscontrol functions required of the station. The DSP 1205 may, dependingupon the implementation, perform any of a variety of conventionaldigital processing functions on the voice signals. Additionally, DSP1205 determines the background noise level of the local environment fromthe signals detected by microphone 1211 and sets the gain of microphone1211 to a level selected to compensate for the natural tendency of theuser of the mobile station 1201.

The CODEC 1213 includes the ADC 1223 and DAC 1243. The memory 1251stores various data including call incoming tone data and is capable ofstoring other data including music data received via, e.g., the globalInternet. The software module could reside in RAM memory, flash memory,registers, or any other form of writable computer-readable storagemedium known in the art including non-transitory computer-readablestorage medium. For example, the memory device 1251 may be, but notlimited to, a single memory, CD, DVD, ROM, RAM, EEPROM, optical storage,or any other non-volatile or non-transitory storage medium capable ofstoring digital data.

An optionally incorporated SIM card 1249 carries, for instance,important information, such as the cellular phone number, the carriersupplying service, subscription details, and security information. TheSIM card 1249 serves primarily to identify the mobile station 1201 on aradio network. The card 1249 also contains a memory for storing apersonal telephone number registry, text messages, and user specificmobile station settings.

While the invention has been described in connection with a number ofembodiments and implementations, the invention is not so limited butcovers various obvious modifications and equivalent arrangements, whichfall within the purview of the appended claims. Although features of theinvention are expressed in certain combinations among the claims, it iscontemplated that these features can be arranged in any combination andorder.

What is claimed is:
 1. A computer-implemented method comprising:calculating, by a processor, a confidence level of one or more links ofa navigation route based on a completeness of map data in an areaincluding the navigation route; based on determining that the confidencelevel is below a threshold, initiating a collecting of probe data from avehicle traveling the navigation route; and updating map data for thearea based on the probe data.
 2. The method of claim 1, wherein the areais a parking structure.
 3. The method of claim 1, wherein the probe datais collected for a portion of the navigation route covering one or moreroad links with the confidence level below the threshold.
 4. The methodof claim 1, further comprising: updating the confidence level, one ormore attributes, or a combination thereof of the one or more links basedon the probe data.
 5. The method of claim 1, wherein the collecting ofthe probe data comprises transmitting an incentive message to thevehicle to explore a portion of the navigation route with the confidencelevel below the threshold.
 6. The method of claim 5, wherein theincentive message indicates a potential for parking availability in thearea.
 7. The method of claim 1, wherein the completeness of the map datais determined with respect to a mapping of one or more road links in thearea.
 8. The method of claim 1, wherein the completeness of the map datais determined with respect to mapping of one or more parking spots inthe area.
 9. The method of claim 1, further comprising: identifying thearea based on determining that no probe data has been reported orgenerated for the area.
 10. The method of claim 1, wherein the area isassociated with a multi-floor building, and wherein the completeness ofthe map data is based on determining that the map data or probe data issparse with respect to at least one floor of the multi-floor building.11. The method of claim 1, wherein the completeness of the map data iscomputed independently for each mode of transport.
 12. An apparatuscomprising: at least one processor; and at least one memory includingcomputer program code for one or more programs, the at least one memoryand the computer program code configured to, with the at least oneprocessor, cause the apparatus to perform at least the following,calculate a confidence level of one or more links of a navigation routebased on a completeness of map data in an area including the navigationroute; based on determining that the confidence level is below athreshold, initiate a collecting of probe data from a vehicle travelingthe navigation route; and update map data for the area based on theprobe data.
 13. The apparatus of claim 12, wherein the area is a parkingstructure.
 14. The apparatus of claim 12, wherein the probe data iscollected for a portion of the navigation route covering one or moreroad links with the confidence level below the threshold.
 15. Theapparatus of claim 12, wherein the apparatus is further caused to:update the confidence level, one or more attributes, or a combinationthereof of the one or more links based on the probe data.
 16. Theapparatus of claim 12, wherein the collecting of the probe data furthercauses the apparatus to: transmit an incentive message to the vehicle toexplore a portion of the navigation route with the confidence levelbelow the threshold.
 17. A non-transitory computer-readable storagemedium carrying one or more sequences of one or more instructions which,when executed by one or more processors, cause an apparatus to at leastperform the following steps: calculating, by a processor, a confidencelevel of one or more links of a navigation route based on a completenessof map data in an area including the navigation route; based ondetermining that the confidence level is below a threshold, initiating acollecting of probe data from a vehicle traveling the navigation route;and updating map data for the area based on the probe data.
 18. Thenon-transitory computer-readable storage medium of claim 17, wherein thearea is a parking structure.
 19. The non-transitory computer-readablestorage medium of claim 17, wherein the probe data is collected for aportion of the navigation route covering one or more road links with theconfidence level below the threshold.
 20. The non-transitorycomputer-readable storage medium of claim 17, wherein the apparatus iscaused to further perform: updating the confidence level, one or moreattributes, or a combination thereof of the one or more links based onthe probe data.